<?php
App::uses('AppController', 'Controller');
/**
 * Horarios Controller
 *
 * @property Paralelo $Paralelo
 */
class HorariosController extends AppController {

    public $uses = array('Paralelo','Nivele','Gestione', 'Horario', 'Turno', 'Profesore', 'Materia', 'ParalelosProfesore');
    public $layout = 'colegio';
    public function beforeFilter()
    {
        parent::beforeFilter();
        //$this->Auth->allow('*');
    }
    
    public function index(){
        $horarios = $this->Horario->find('all', array(
            'order'=>array('Horario.dia Asc', 'Horario.periodo_id Asc'),
            'recursive'=>1         
            ));
       // debug($horarios);
       $c=0;
       foreach($horarios as $horario){
        
        switch($horario['Horario']['dia']){
            case 1: $horarios[$c]['Horario']['dia_orden'] = "Lunes";
            break;
            case 2: $horarios[$c]['Horario']['dia_orden'] = "Martes";
            break;
            case 3: $horarios[$c]['Horario']['dia_orden'] = "Miercoles";
            break;
            case 4: $horarios[$c]['Horario']['dia_orden'] = "Jueves";
            break;
            case 5: $horarios[$c]['Horario']['dia_orden'] = "viernes";
            break;
            case 6: $horarios[$c]['Horario']['dia_orden'] = "Sabado";
            break;
            case 7: $horarios[$c]['Horario']['dia_orden'] = "Domingo";
            break;
            default: 1;break;
        }
        $c++;
       }
       $c=0;
       foreach($horarios as $horario){
           $turno_id = $horario['Periodo']['turno_id'];
           $turno = $this->Turno->find('first', array(
           'conditions'=>array('Turno.id'=>$turno_id)
           ));
           $horarios[$c]['Periodo']['nombre_turno']= $turno['Turno']['nombre'];
           $c++;
       }
       //debug($horarios);exit;
        $this->set(compact('horarios'));
    }
    function listarniveles(){
        $paralelos = $this->Paralelo->find('all', array(
            'conditions'=>array('Paralelo.gestion'=>date('Y')),
            'order'=>array('Nivele.orden ASC'),
            'recursive'=>0           
            ));
        
        $this->set(compact('paralelos'));
    }
    public function listaprofesores($idParalelo = null)
    {
        
        $gestion = date("Y");
        $dcm = $this->Materia->find('all', array(
            'recursive'=>-1,
            'fields'=>array('id', 'nombre')            
        ));
        
        $dcp = $this->Profesore->find('all', array(
            'recursive'=>-1,
            'fields'=>array('id', 'nombre', 'ap_paterno', 'ap_materno')            
        ));         
                      
        $paralelosProfesores = $this->ParalelosProfesore->find('all', array(
            'recursive' => 1, 
            'conditions' => array('ParalelosProfesore.paralelo_id' => $idParalelo)));
                        
        //debug($paralelosProfesores);exit;
        //$idParalelo = $paralelosProfesores['Paralelo']['id'];
        if(!empty($this->request->data))
        {
            //debug($this->request->data);
            $this->request->data['ParalelosProfesore']['gestion']=$gestion;
            if($this->ParalelosProfesore->save($this->request->data))
            {
                $this->Session->setFlash('Registro Guardado!!!', 'msgbueno');
                $this->redirect(array('action' => 'listaprofesores', $idParalelo)); 
            }
        }
            
        $this->set(compact('paralelosProfesores', 'dcm', 'dcp', 'idParalelo'));
    }
    function insertar(){
        if(!empty($this->data)){
            if($this->Paralelo->save($this->data)){
                $this->Session->setFlash('Se Guardo Correctamente!!!');
                $this->redirect(array('controller'=>'horarios','action'=>'listarniveles')); 
                //debug($this->data);
            }
            else{
                $this->Session->setFlash('Error al Guardar consulte con el Administrador de Sistema');
            }
        }
        $dpara = $this->Nivele->find('list', array('fields'=>'Nivele.nombre'));
        $this->set(compact('dpara'));
        
        $dgest = $this->Gestione->find('list', array('fields'=>'Gestione.nombre'));
        $this->set(compact('dgest'));
        
    }
    function editar($id=null){
        $this->Paralelo->id=$id;
        if(!$id){
            $this->Session->setFlash('No Existe el tipo de Paralelo');
            $this->redirect(array('action' =>'index'));
        }
        if(empty($this->data)){
            $this->data=$this->Paralelo->read();
        }
        else{
            if($this->Paralelo->save($this->data)){
                $this->Session->setFlash('Se Guardo Correctamente el Paralelo');
                $this->redirect(array('action'=>'index'));
                }
                else{
                    $this->Session->setFlash('Error al guardar el Paralelo');
                }
        }
        $dpara = $this->Nivele->find('list', array('fields'=>'Nivele.nombre'));
        $this->set(compact('dpara'));
        
        $dgest = $this->Gestione->find('list', array('fields'=>'Gestione.nombre'));
        $this->set(compact('dgest'));
    }
    function eliminar($id=null){
        $this->Horario->id=$id;
        $this->request->data=$this->Horario->read();
        if(!$id){
            $this->Session->setFlash('No existe el registro a Eliminar');
            $this->redirect(array('action' =>'index'));
        }
        else{
            if($this->Horario->delete($id)){
                $this->Session->setFlash('Se elimino el horario del profesor: '.$this->request->data['Profesore']['ap_paterno']." ".$this->request->data['Profesore']['nombre'].' '.$this->request->data['Materia']['nombre'].' '.$this->request->data['Paralelo']['curso'].' "'.$this->request->data['Paralelo']['nombre'].'"');
                $this->redirect(array('action' =>'index'));
            }
            else{
                $this->Session->setFlash('Error al eliminar');
            }
        }
    }
}
